﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

using ModeloDatos;
using CapaNegocio;

namespace CapaPresentacion
{
    public partial class FrmConsultaPedido : Form
    {
        public FacturaNE objFacNE = new FacturaNE();
        public List<Facturas> lista = new List<Facturas>();
        public Cliente objcliente = new Cliente();

        public DateTime fini, ffin;

        public void asignarFechas()
        {

            fini = Convert.ToDateTime(this.FechaInicial.Value);
            ffin = Convert.ToDateTime(this.FechaFinal.Value);
           // MessageBox.Show(ffin.ToString());

        }
        public void listarPedidosByFechas()
        {
            this.dgvResultado.DataSource = null;
            this.dgvResultado.Rows.Clear();
            asignarFechas();
            lista = objFacNE.listarPedidosByFechas(fini, ffin);
            foreach (var item in lista)
            {
                int renglon = this.dgvResultado.Rows.Add();
                dgvResultado.Rows[renglon].Cells[0].Value = item.num_fact.ToString();
                dgvResultado.Rows[renglon].Cells[1].Value = item.Cliente.NombreCliente.ToString();
                dgvResultado.Rows[renglon].Cells[2].Value = item.Cliente.DireccionCliente.ToString();
                dgvResultado.Rows[renglon].Cells[3].Value = DateTime.Parse(item.Fecha.ToString());
            }

        }

        public void mostrarFacturas()
        {
            this.dgvResultado.DataSource = null;
            this.dgvResultado.Rows.Clear();

            lista = objFacNE.listarFacuras();
            foreach (var item in lista)
            {
                int renglon = this.dgvResultado.Rows.Add();
                dgvResultado.Rows[renglon].Cells[0].Value = item.num_fact.ToString();
                dgvResultado.Rows[renglon].Cells[1].Value = item.Cliente.NombreCliente.ToString();
                dgvResultado.Rows[renglon].Cells[2].Value = item.Cliente.DireccionCliente.ToString();
                dgvResultado.Rows[renglon].Cells[3].Value = DateTime.Parse(item.Fecha.ToString());
            }

        }

        public void buscarPedidosById(int idpedido)
        {
            this.dgvResultado.DataSource = null;
            this.dgvResultado.Rows.Clear();
            lista = objFacNE.listarPedidosById(idpedido);
            foreach (var item in lista)
            {
                int renglon = this.dgvResultado.Rows.Add();
                dgvResultado.Rows[renglon].Cells[0].Value = item.num_fact.ToString();
                dgvResultado.Rows[renglon].Cells[1].Value = item.Cliente.NombreCliente.ToString();
                dgvResultado.Rows[renglon].Cells[2].Value = item.Cliente.DireccionCliente.ToString();
                dgvResultado.Rows[renglon].Cells[3].Value = DateTime.Parse(item.Fecha.ToString());
            }
        }

        public void buscarPedidoById()
        {

            if (this.txtIDPedido.Text == "")
            {
                mostrarFacturas();


            }
            else
            {
                buscarPedidosById(int.Parse(this.txtIDPedido.Text.ToString()));
                string cliente = "Sr. ";
                String Direccion = "Su dirección es:";
                this.txtDatosCliente.Text = cliente +
                                            dgvResultado.CurrentRow.Cells[1].Value.ToString() +
                                             "\r\n" + " " +
                                             Direccion +
                                             dgvResultado.CurrentRow.Cells[2].Value.ToString();


            }
        }


        public FrmConsultaPedido()
        {
            InitializeComponent();
        }

        private void FrmConsultaPedido_Load(object sender, EventArgs e)
        {

        }

        private void btnBuscarByFechas_Click(object sender, EventArgs e)
        {
            listarPedidosByFechas();
        }

        private void btnBuscarPedido_Click(object sender, EventArgs e)
        {
            buscarPedidoById();
        }

        private void dgvResultado_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            this.txtDatosCliente.Text = dgvResultado.CurrentRow.Cells[1].Value.ToString() +
                "\r\n" + " " +
                  dgvResultado.CurrentRow.Cells[2].Value.ToString();
        }
    }
}
